利用SSH的用户配置文件管理SSH会话

一般,在Shell中可以如下远程登录一台机器:

ssh user@hostname -p port

然后输入密码(如果有放置公钥则直接过)。

但是如果有很多机器要操作,就可以利用SSH中的用户配置文件来管理会话(man ssh_config)。

SSH的用户配置文件是放在当前用户根目录下的.ssh文件夹里(~/.ssh/config,不存在可新建),其配置写法如下:

Host			别名
	HostName	主机名
	Port		端口
	User		用户名
	IdentityFile	秘钥文件的路径(如果私钥不是放置默认位置,这里可以指定)

配置好后就可以使用别名登录:

ssh 别名
scp 别名:~/test .

如果有多个机器,对应在配置中写入。

可见,SSH的过程,总是首先读取config文件,然后解析,然后看看是否匹配别名,如果匹配,就使用匹配的别名对应的配置登录。

生成SSH秘钥:

root@vfeelit:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

把公钥放到远程机器的~/.ssh/authorized_keys文件中。