教你Linux的远程登录方法和无密码登录方法.docx
- 文档编号:14156240
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:3
- 大小:16.89KB
教你Linux的远程登录方法和无密码登录方法.docx
《教你Linux的远程登录方法和无密码登录方法.docx》由会员分享,可在线阅读,更多相关《教你Linux的远程登录方法和无密码登录方法.docx(3页珍藏版)》请在冰点文库上搜索。
教你Linux的远程登录方法和无密码登录方法
教你Linux的远程登录方法和无密码登录方法
这篇文章主要介绍了Linux的远程登录方法和无密码登录方法,以及一些远程登录的常见问题和sshd_config中文注释,需要的朋友可以参考下。
一、远程登录方法 SSH是一种安全通道协议,主要用来远程登录。
在RHEL5系统中使用的是OpenSSH服务器由openssh,openssh-server等软件包提供的(默认已经安装),并以将sshd添加为标准的系统服务。
使用方法如下:
复制代码代码如下:
$sshhost $sshusername@host $ssh-p222username@host -p:
指定访问端口;如果省略该参数,则默认访问SSH服务的默认端口22; 如果是第一次登录对方主机,则系统会出现一下提示:
复制代码代码如下:
Theauthenticityofhost'host(192.168.0.21)'can'tbeestablished. RSAkeyfingerprintis98:
2e:
d7:
e0:
de:
9f:
ac:
67:
28:
c2:
42:
2d:
37:
16:
58:
4d. Areyousureyouwanttocontinueconnecting(yes/no)?
这段话是说,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?
输入yes之后,系统会出现一句提示,表示host主机已经得到认可。
复制代码代码如下:
Warning:
Permanentlyadded'host,192.168.0.21'(RSA)tothelistofknownhosts. 然后要求输入密码:
复制代码代码如下:
$Password:
(enterpassword) 此时,如果秘密正确,就可以登录了。
二、无密码登录方法 在信任环境下,如果每次远程登录时,都要输入密码,感觉太浪费时间了,尤其是密码很复杂、维护的服务器比较多的情况下。
于是有了正常需求:
不用输入密码即可实现远程登录。
实现步骤如下:
1、本地生成一对秘钥文件(公钥和私钥); 复制代码代码如下:
$ssh-keygen #以上命令等价于ssh-keygen-trsa #-t:
指定密钥的类型,默认为SSH-2的rsa类型; 运行上面的命令后,系统会出现一系列提示,可以一路回车。
特别说明,其中有一个问题是,要不要对私钥设置口令(passphrase),如果担心私钥的安全,可以设置一个。
运行结束以后,会在~/.ssh/目录下新生成两个文件:
id_rsa.pub和id_rsa。
前者公钥,后者是私钥。
2、将公钥传送到远程主机host上面; 复制代码代码如下:
$ssh-copy-iduser@host 经过以上两步之后,就可以实现无密码远程登录了(远程主机将用户的公钥保存在~/.ssh/authorized_keys文件中)。
三、常见问题:
1、生成密钥并上传至远程主机后,仍然无法实现无密码登录?
打开远程主机的/etc/ssh/sshd_config这个文件,以下几行取消注释。
复制代码代码如下:
#RSAAuthentication=yes #PubkeyAuthentication=yes #AuthorizedKeysFile=.ssh/authorized_keys 然后,重启远程主机的ssh服务。
复制代码代码如下:
#ubuntu系统 $servicesshrestart #debian系统 $/etc/init.d/sshrestart 2、执行ssh-copy-id命令时,远程服务器的SSH服务端口不是22,如下:
复制代码代码如下:
$ssh-copy-idnameB@machineB ssh:
connecttohostmachineBport22:
Connectionrefused 则使用如下命令:
复制代码代码如下:
$ssh-copy-id"-p22000nameB@machineB" 四、补充内容:
复制代码代码如下:
$ssh-copy-id-i~/.ssh/id_rsa.pubroot@192.168.0.2 $ssh-copy-id-ueucalyptus-i/home/eucalyptus/.ssh/id_rsa.pubeucalyptus@remote_host #-u:
给eucalyptus用户设置无密码登陆 #-i:
当没有值传递时或~/.ssh/identity.pub文件不可访问(不存在),ssh-copy-id将显示如下错误 /usr/bin/ssh-copy-id:
ERROR:
Noidentitiesfound SSH提供两种方式的登录验证:
1、密码验证:
以服务器中本地系统用户的登录名称,密码进行验证。
2、秘钥对验证:
要求提供相匹配的秘钥信息才能通过验证。
通常先在客户机中创建一对秘钥文件(公钥和私钥),然后将公钥文件放到服务器中的指定位置。
注意:
当密码验证和私钥验证都启用时,服务器将优先使用秘钥验证。
五、SSH服务的配置文件:
sshd服务的配置文件默认在/etc/ssh/sshd_config,正确调整相关配置项,可以进一步提高sshd远程登录的安全性。
配置文件的内容可以分为以下三个部分:
复制代码代码如下:
#SSH服务器监听的选项 #监听的端口 Port22 #使用SSHV2协议 Protocol2 #监听的地址为所有地址 ListenAdderss0.0.0.0 #//禁止DNS反向解析 UseDNSno #用户登录控制选项 #是否允许root用户登录 PermitRootLoginno #是否允许空密码用户登录 PermitEmptyPasswordsno #登录验证时间(2分钟) LoginGraceTime2m #最大重试次数 MaxAuthTries6 #只允许user用户登录,与DenyUsers选项相反 AllowUsersuser #登录验证方式 #启用密码验证 PasswordAuthenticationyes #启用秘钥验证 PubkeyAuthenticationyes #指定公钥数据库文件 AuthorsizedKeysFile.ssh/authorized_keys 查看SSH服务状态命令:
/etc/init.d/sshdstatus 重新启动SSH服务命令:
/etc/init.d/sshdrestart 查看ssh软件的版本号命令:
$ssh-V OpenSSH_3.9p1,OpenSSL0.9.7aFeb192003#表明该系统正在使用OpenSSH ssh:
SSHSecureShell3.2.9.1(non-commercialversion)oni686-pc-linux-gnu#表明该系统正在使用SSH2 当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known_hosts之中。
下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分,直接提示输入密码。
每个SSH用户都有自己的known_hosts文件,此外系统也有一个这样的文件,通常是/etc/ssh/ssh_known_hosts,保存一些对所有用户都可信赖的远程主机的公钥。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 远程 登录 方法 密码