SSH问题汇总

heyw 2011-08-22

1)如何配置主机A免密码登陆主机B

在主机A执行:

# 此命令在~/.ssh目录下生成私钥文件id_rsa和公钥文件id_rsa.pub

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""

# 复制公钥文件到主机B,复制时重命名为authorized_keys。请依据实际替换[]的部分

# 若第一次连接主机B会提示添加到已知主机,yes即可

$ scp ~/.ssh/id_rsa.pub [主机B上的用户名]@[主机B的IP]:~/.ssh/authorized_keys

# 如果不出奇怪的问题,已经可以登录主机B

$ ssh [主机B上的用户名]@[主机B的IP]

2)连接被拒绝

$ ssh wuxiaochao

... ssh: connect to host wuxiaochao port 22: Connection refused ...

原因是没有启动sshd服务,启动命令如下:

$ sudo service sshd start

3)配置了RSA公私钥,登录还是需要密码

使用-v跟踪ssh链接过程:

$ ssh -v wuxiaochao

如果正常的话应该会包含如下内容,表示RSA密钥通过

...

debug1: Next authentication method: publickey

debug1: Offering RSA public key: /home/hadoop/.ssh/id_rsa

debug1: Server accepts key: pkalg ssh-rsa blen 279

...

如果没有明显的错误或则异常,可能是.ssh目录的权限不正确。登录目标服务器上执行如下命令:
$ chmod 755 ~/.ssh
$ chmod 755 ~/.ssh/authorized_keys
应该就可以RSA登录。
4)配置了RSA公私钥,登录还是需要密码
可能是没有添加生成的密钥到密钥队列
$ ssh-add ~/.ssh/id_rsa
5)ssh密钥生成命令解释
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""
ssh-keygen:生成密钥
-t rsa:密钥类型是rsa
-f ~/.ssh/id_rsa:密钥文件存储为 .ssh 目录下的 id_rsa
-P "":密码为空
以上。
*****************
南邮福富实验室
wuxiaochao@live.com
*****************

相关推荐