加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_镇江站长网 (https://www.0511zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux命令之远程登录/无密码登录-ssh,ssh-keygen,ssh-copy-id - Linux系统

发布时间:2014-06-05 20:39:01 所属栏目:Linux 来源:站长网
导读:SSH是一种安全通道协议,主要用来远程登录。在RHEL 5系统中使用的是OpenSSH服务器由openssh, openssh-server等软件包提供的(默认已经安装),并以将sshd添加为标
SSH是一种安全通道协议,主要用来远程登录。在RHEL 5系统中使用的是OpenSSH服务器由openssh, openssh-server等软件包提供的(默认已经安装),并以将sshd添加为标准的系统服务。使用方法如下:

$ ssh host

$ ssh username@host

$ ssh -p 222 username@host

-p:指定访问端口;如果省略该参数,则默认访问SSH服务的默认端口22;

如果是第一次登录对方主机,则系统会出现一下提示:

The authenticity of host 'host(192.168.0.21)' can't be established.

RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.

Are you sure you want to continue connecting (yes/no)?

这段话是说,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?

输入yes之后,系统会出现一句提示,表示host主机已经得到认可。

Warning: Permanently added 'host,192.168.0.21' (RSA) to the list of known hosts.

然后要求输入秘密:

$ Password: (enter password)

此时,如果秘密正确,就可以登录了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在信任环境下,如果每次远程登录时,都要输入密码,感觉太浪费时间了,尤其是密码很复杂、 维护的服务器比较多的情况下。

于是有了正常需求:不用输入密码即可实现远程登录。

实现步骤如下:

1、本地生成一对秘钥文件(公钥和私钥);

$ ssh-keygen

#以上命令等价于 ssh-keygen -t rsa

#-t:指定密钥的类型,默认为SSH-2 的rsa类型;

运行上面的命令后,系统会出现一系列提示,可以一路回车。特别说明,其中有一个问 题是,要不要对私钥设置口令(passphrase),如果担心私钥的安全,可以设置一个。运 行结束以后,会在 ~/.ssh/ 目录下新生成两个文件:id_rsa.pubid_rsa。前者公钥,后者是私钥。

2、将公钥传送到远程主机host上面;

$ ssh-copy-id user@host

经过以上两步之后,就可以实现无密码远程登录了(远程主机将用户的公钥保存在~/.ssh/authorized_keys 文件中)。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

常见问题:

1、生成密钥并上传至远程主机后,仍然无法实现无密码登录?

打开远程主机的 /etc/ssh/sshd_config 这个文件,以下几行取消注释。

#RSAAuthentication=yes

#PubkeyAuthentication=yes

#AuthorizedKeysFile=.ssh/authorized_keys

然后,重启远程主机的ssh服务。

#ubuntu系统

$ service ssh restart

#debian系统

$ /etc/init.d/ssh restart

2、执行ssh-copy-id 命令时,远程服务器的SSH服务端口不是22,如下:

$ ssh-copy-id nameB@machineB

ssh: connect to host machineB port 22: Connection refused

则使用如下命令:

$ ssh-copy-id "-p 22000 nameB@machineB"

(编辑:应用网_镇江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!