远程ssh管理免密码登录设置

作者: dreamfly 分类: linux 发布时间: 2021-02-11 10:07

ssh

ssh全称是secure shell,意思是安全的shell链接,通过对发送的信息进行秘钥加密,可以实现交互的安全。

本地创建秘钥

ssh-keygen -t rsa -C 80shihua -f ~/.ssh/id_rsa -N mima -P passphrase

  • -t 表示加密方式type的意思

  • -f 表示存储路径file的意思

  • -C表示备注信息comment的意思

  • -N表示新的密码,new passphrase

  • -P表示密码,就是passphrase的意思

秘钥生成后会默认保存到用户家目录下的.ssh/id_rsa,此外还会生成一个公钥,id_rsa.pub

拷贝秘钥到主机

ssh-copy-id -i ~/.ssh/id_rsa.pub    root@www.80shihua.com

上述命令会将公钥拷贝到远程主机上面的~/.ssh/authorized_keys 文件中,之后在远程主机的时候就不需要再输入密码了。

如果使用的是windows系统的powershell的话,可以使用下面的命令替换ssh-copy-id命令。

type ~/.ssh/id_rsa.pub root@www.80shihua.com "cat >> ~/.ssh/authorized_keys"

通过hostname访问

如果想更简单地访问,比如想要下面的访问方式

ssh dev

我们就可以通过配置sssconfig来实现
找到本地的.ssh目录,创建config文件
然后输入下面的配置

Host dev
    HostName 115.28.72.250
    User root
    IdentityFIle ~/.ssh/id_rsa

现在我们就可以使用简单地命令访问我们的远程主机了。

总结

当一个命令变得复杂的时候,我们总是会通过配置文件,或者重新映射来简化命令,这也是shell的精髓。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

评论已关闭!