摘要: 第一步:生成密匙对,我用的是rsa的密钥。 在客户端,当前用户下,运行: mkdir ~/.ssh chmod 700 ~/.ssh/ ssh-keygen -t rsa chmod 0600 ~/.ssh/id_rsa 然后会生成 id_rsa.pub 文...
第一步:生成密匙对,我用的是rsa的密钥。
在客户端,当前用户下,运行:
mkdir ~/.ssh
chmod 700 ~/.ssh/
ssh-keygen -t rsa
chmod 0600 ~/.ssh/id_rsa
然后会生成 id_rsa.pub
文件。
将此文件中内容(一行),添加到服务器端的 ~/.ssh/authorized_keys
文件中。
在服务器端:
mkdir ~/.ssh
cd ~/.ssh
cat id_rsa.pub1 >> authorized_keys
rm id_rsa.pub1
当服务器端对多台机器开放权限时,将各台机器的 id_rsa.pub
都拷贝到服务器端,添加到 authorized_keys
。
注意:
如果用sh的私有密钥的权限开放尺度太大了,ssh自身的策略会关闭ssh。解决方案:将权限降低为 0600
:
chmod 0600 ~/.ssh/id_rsa
拷贝到远程的第二种方法
将本地的密钥拷贝到远程稍有点麻烦,比较方便的方法是使用 ssh-copy-id
命令。
用ssh-copy-id将公钥复制到远程机器中,使用下面的命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
如果已经修改了ssh端口,这样是无法连接的,解决方法是添加端口参数:
ssh-copy-id -p022 -i ~/.ssh/id_rsa.pub remote-host