ssh的简单配置
ssh可以密钥文件进行通信,这样就可以避免输入密码的烦恼。
ssh把密钥保存在 .ssh 文件夹内,通常先生成一个密钥对(密钥和公钥),再把公钥放到远程服务器上。再进行一点配置,完成。
1、生成密钥对。
ssh-keygen
2、到 ~/.ssh 文件夹内,找到2个文件:id_rsa和id_rsa.pub,其中 id_rsa 是私钥,id_rsa.pub 是公钥。
3、把公钥 id_rsa.pub 放到远程服务器上,用的是 scp 命令。
scp id_rsa.pub root@172.20.0.141:/root/.ssh
4、登录远程服务器并进入 .ssh 目录,这时看到刚才传过来的 id_rsa.pub 文件,把它输送到同目录的 authorized_keys 文件中。
cat id_rsa.pub >> authorized_keys
注意不要用复制粘贴的方法,以免带入其他不必要的空格回车啥的。
5、公钥 id_rsa.pub 文件,要保留,将来可以放到其他远程主机,这样一把私钥可以连接几个远程主机,当然,也可以一把私钥一把公钥。
6、回到本地主机的 .ssh 文件夹,编辑 ~/.ssh/config 文件进行配置
Host 别名
HostName ip地址
Port 端口
DynamicForward ssh转发的地址
IdentityFile 私钥地址
User 用户名
一个完整的例子:
Host aws HostName 13.xxx.xxx.xx Port 22 DynamicForward 127.0.0.1:6060 IdentityFile ~/.ssh/id_rsa User centos
scp id_rsa.pub root@172.20.0.141:/root/.ssh
用 powershell 可以这样写:
$sshConfig = @'
Host aws
HostName 13.xxx.xxx.xx
Port 22
DynamicForward 127.0.0.1:6060
IdentityFile ~/.ssh/id_rsa
User centos
'@
add-content -path ~/.ssh/config -value $sshConfig