您的位置:首页 > 运维架构 > Linux

linux通过ssh登录其他服务器,不用输入密码

2015-04-23 14:14 573 查看
由于使用java ganymed-ssh2.jar来操作集群中的节点服务器,ssh -tt userName@ip,遇到要输入密码,ganymed-ssh2没找到输入密码的方法,所以只能从ssh服务器解决。

其实方法很简单,就是通过配置ssh来达到不用输入密码。

下面来说说方法:

假设有A(ip:192.168.52.1)、B(ip:192.168.52.2)两台服务器,都是Linux系统,A服务器可以使用 ssh user@19.168.52.2登录到B服务器,要输入密码。

在A服务器:

[user@192.168.52.1 ~] $ ssh-keygen -t rsa (连续三次回车,会在当前目录下生成id_rsa、id_rsa.pub、known_hosts三个文件,即在本地生成了公钥和私钥)
[user@192.168.52.1 ~] $ ssh user@192.168.52.2 "mkdir .ssh;chmod 700 .ssh" (在B服务器新建.ssh文件夹,权限)
[user@192.168.52.1 ~] $ scp ~/.ssh/id_rsa.pub user@192.168.52.2:.ssh/id_rsa.pub(把A的公钥通过scp发送到B服务器的.ssh文件夹下)
在B服务器:

[user@192.168.52.2 ~] $ touch .ssh/authorized_keys
[user@192.168.52.2 ~] $ cat .ssh/id_rsa.pub >> .ssh/authorized_keys (将id_rsa.pub的内容追加到 authorized_keys中)


这样再在A服务器:ssh user@19.168.52.2登录B服务器就不需要输入密码了

如果可以登录,但是还是要输入密码,则在B服务器shan

[user@192.168.52.2 ~] $ chmod 700 ~/.ssh
[user@192.168.52.2 ~] $ chmod 600 ~/.ssh/authorized_keys



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: