步驟
- 本機生成公鑰 & 私鑰
> ssh-keygen -t rsa # 參數-t指定生成的密匙類型,其實默認類型也是 rsa,也就是說可以什么都不加
- 拷貝公鑰到遠端主機
> ssh-copy-id user@host # 方法1
> ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub # 方法2
注意 & 建議
- 用戶權限不足,拷貝公鑰到服務器將出現錯誤!
- 檢查
/etc/ssh/sshd_config
文件是否如下設置
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
- 若修改了配置文件,需重啟sshd服務
service sshd restart // centos 6
systemctl restart sshd.service // centos 7
- 服務器
~/.ssh
目錄權限需設為700,文件.ssh/authorized_keys
權限需設為600,如下:
> chmod 700 ~/.ssh
> chmod 600 ~/.ssh/authorized_keys
參考
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html