免密登录
- 上传公钥: id_rsa.pub
先在local本地的 /Users/USERNAME/.ssh 目录下面看一下有没有id_rsa 和 id_rsa.pub,要把拷贝到需要登录的远程服务器或 Linux 系统上.
这里可以使用 ssh-copy-id,但是ssh-copy-id默认端口是22,如果您的SSH端口不是22,也就是远程服务器端口修改成其他的了,那就要得加上 -p +端口
ssh-copy-id -i/Users/USERNAME/.ssh/id_rsa.pub USERNAME@IP_ADDRESS
又或者scp或者rsync:
scp FILENAME USERNAME@IP_ADDRESS:/root/.ssh
rsync FILENAME USERNAME@IP_ADDRESS:/root/.ssh
没有看到公钥的话就在终端执行:
ssh-keygen -t rsa
然后一路回车就行了,会在/Users/USERNAME/.ssh生成两个文件 私钥 id_rsa、公钥 id_rsa.pub
- 公钥添加到authorized_keys
在/root/.ssh目录下面检查是否有authorized_keys 文件。
没有的话就创建一下(注意:此处权限必须是 600):
touch authorized_keys
chmod 600 /root/.ssh/authorized_keys
如果已经有了 authorized_keys 文件,这直接执行以下的密钥追加:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
中间是用 >>,表示追加;用 >会全部替换
- 修改配置允许秘钥登录
vim /etc/ssh/sshd_config
找到下面几个配置替换或者添加:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
然后最后重启一下配置:
service sshd restart
- 测试
在自己local本地终端执行,应该就可以连上需要登录的远程服务器或 Linux 系统上.
ssh USERNAME@IP
如果想禁用密码登录:(一定要先确认密钥登录或者免密登陆可以正常先)
vim /etc/ssh/sshd_config
然后修改下面这个配置
PasswordAuthentication no
重启:
service ssh restart