Linux 远程登录

Linux  远程登录 Linux作为服务器使用,而服务器放在机房,不可能在机房操作你的Linux服务器。 需要远程登录到Linux服务器来管理维护系统。 Linux系统中是通过ssh服务实现的远程登录功能,默认ssh服务端口号为 22。 Window系统上 Linux 远程登录客户端有SecureCRT, Putty, SSH Secure Shell等

Linux系统通过ssh服务实现的远程登录功能 默认ssh服务端口号为 22

Window系统 Linux 远程登录客户端有SecureCRT, Putty, SSH Secure Shell等
以Putty为例来登录远程服务器 putty下载地址 //www.putty.org/

请双击putty.exe

在Host Name( or IP address) 下面的框中输入 要登录的远程服务器IP(可以通过ifconfig命令查看服务器ip)

此时,提示输入要登录的用户名。

输入root 然后回车 再输入密码 就能登录到远程的linux系统了


使用密钥认证机制远程登录linux

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定SSH 为建立在应用层和传输层基础上的安全协议



首先使用工具 PUTTYGEN.EXE 生成密钥对
打开工具PUTTYGEN.EXE后

可以生成三种格式的key :SSH-1(RSA) SSH-2(RSA) SSH-2(DSA) 
采用默认的格式即SSH-2(RSA)
Number of bits in a generated key 这个是指生成的key的大小,这个数值越大,生成的key就越复杂,安全性就越高
这里写2048

然后单击Generate 开始生成密钥对:

注意的是,在这个过程中鼠标要来回的动,否则这个进度条是不会动的。
到这里,密钥对已经生成了
可以给密钥输入密码,(在Key Passphrase那里)也可以留空
然后点 Save public key 保存公钥
点 Save private Key 保存私钥
建议放到安全的地方 防止别人偷窥 防止误删除
接下来就该到远程linux主机上设置了。

1)创建目录 /root/.ssh 并设置权限

# mkdir /root/.ssh mkdir 命令用来创建目录

# chmod 700 /root/.ssh chmod 命令是用来修改文件属性权限

2)创建文件 / root/.ssh/authorized_keys

# vi /root/.ssh/authorized_keys
3)打开刚才生成的public key 文件
复制从AAAA开头至 "---- END SSH2 PUBLIC KEY ----" 该行上的所有内容
粘贴到文件/root/.ssh/authorized_keys
要保证所有字符在一行
用vi打开文件后,该文件不存在,所以vi会自动创建
按字母"i"后同时按shift + Insert 进行粘贴(或单击鼠标右键即可)
粘贴好后后把光标移动到该行最前面输入 ssh-rsa 
然后按空格
再按ESC
然后输入冒号wq 即 :wq 就保存了

4)设置putty选项点窗口左侧的SSh –> Auth 
单击窗口右侧的Browse… 选择刚刚生成的私钥
点Open 此时输入root
就不用输入密码就能登录了
如果在前面你设置了Key Passphrase 
那么此时就会提示你输入密码的
为了更加安全建议大家要设置一个Key Passphrase


如果出现错误Server refused our key
putty ssh连接Linux提示server refused our key的解决方法
putty用puttygen生成的密钥 连接Linux
提示server refused our key
可能的原因 IPtables
selinux防火墙功能没有关闭 不建议关闭
解决方法用Linux的openssh替代puttygen来生成公钥和密钥
把私钥拷贝到本机
用puttygen进行格式转换后再导入到putty即可
具体步骤:
1用linux密码登陆 键入ssh-keygen -t dsa生成公钥 私钥文件 生成的文件再用户目录下的.ssh目录下
2修改公钥文件的名字cat id_dsa.pub >> .ssh/authorized_keys
3将私钥文件id_dsa拷贝到windons下
打开puttygen
然后点击load
对话框中的文件类型选择所有
load 这个id_dsa文件后
save private key文件
再导入到putty即可
如果问题还是Server refused our key
在开启Selinux的情况下用无密码认证的私钥登陆登陆时出现错误提示
Server refused our key
问题原因
生成的~/.ssh/authorized_keys 文件没有selinux上下文属性
导致无法通过Selinux认证,查看该文件属性如下:
ll -Z .ssh/authorized_keys
-rwxr--r--. barlowliu barlowliu ? .ssh/authorized_keys
网友在遇到此问题时采用关闭selinux方式解决问题
鉴于selinux带来的安全性加强不建议关闭selinux。
办法解决
# restorecon -R -v /home
该命令的作用了恢复/home 目录下所有文件的默认selinux安全上下文属性。
再次查看~/.ssh/authorized_keys文件的selinux安全上下文属性,发现已经改变:
$ ll -Z ~/.ssh/authorized_keys
-rwxr--r--. unconfined_u:object_r:user_home_t:s0 /home/barlowliu/.ssh/authorized_keys