1. 配置描述
目标系统:银河麒麟v10系统(后简称kylin系统),cpu为麒麟990
当前系统:win10系统,远程连接采用FinalShell软件
2.问题描述
使用win10远程连接kylin系统时,遇到连接失败问题,后发现是因为kylin系统没有安装ssh服务。
3.安装ssh服务
*此步骤均在root用户下执行
(1)查看是否已安装ssh服务
apt list --installed | grep ssh
若存在上述红框中的内容,则可跳过此步。否则,运行按照如下方式进行ssh服务的下载
(2)安装ssh服务
###kylin系统好像是在debina基础上发行的,若你使用的是debina,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:
apt-get install openssh-server 或
apt-get install sshd
#如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:
sudo yum install sshd 或
sudo yum install openssh-server
(3)启动ssh服务
通常情况下,安装好ssh服务后会自动启动,若使用下述命令查看sshd服务未启动,则需要手动启动并设置开机自启。
systemctl status sshd #查看sshd服务状态
systemctl start sshd #启动sshd服务
systemctl stop sshd #关闭sshd服务
systemctl is-enabled sshd #查看sshd服务是否设置开机自启
systemctl enable sshd #设置开机自启
systemctl disable sshd #关闭开机自启
(4)遇到的问题
在测试systemctl disable sshd命令是否可以关闭开机自启时,遇到将ssh.service服务移除的问题。导致上述命令均无法使用。如下图:
刚开始以为自己记错了,以为设置sshd的开机自启应该是systemctl enable/disable ssh.service命令,但是本人在CentOS系统中,采用systemctl enable/disable sshd却没有问题。在此处只能运行systemctl start ssh.service重新启动ssh服务,即可解决问题。
4.密码方式登录
*此步骤在普通用户(mason)下即可。
(1)查看ip地址——ifconfig
(2)远程登录
在win10系统中,采用FinalShell进行登录,只需要输入目标系统的ip地址和用户名密码即可进行登录。
5.密钥方式登录
为了更进一步的提高系统安全,可以生成 SSH 密钥对,然后强制使用基于密钥的认证,并禁用密码认证。
(1)生成密钥对
输入下列命令生成RSA密钥对:
mason@mason-L410-KLVU-WDU0B:~$ ssh-keygen -t rsa #生成密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mason/.ssh/id_rsa)
按回车后确认生成的密钥默认路径为:~/.ssh/id_rsa
设置私钥密码,并且在提示确认的时候再次输入该口令。为了安全起见,请不要使用和您登录您的账户相同的密码。
默认情况下,将~/.ssh/目录的权限设置为 rwx------或者以八进制标注表示的 700。这是为了确保只有对应的用户 mason 能够查看其内容。如果有必要,可以使用以下命令来进行确认:
使用cp ./.ssh/id_rsa.pub ./.ssh/authorized_keys 命令复制id_rsa.pub 文件中公钥到 authorized_keys文件中,如果 authorized_keys 文件已经存在了,将密钥追加到该文件的末尾。
(2)远程连接
通过U盘将~/.ssh/id_rsa文件拷贝到当前windows系统。并打开FinalShell进行如下设置:
(3)关闭密码登录
在windows系统下测试密钥登录成功后,再关闭密码登录,方法是使用文本编辑器中打开/etc/ssh/sshd_config 配置文件,并将 PasswordAuthentication 选项修改为如下内容:PasswordAuthentication no。最后重启sshd服务,即可实现无法通过密码登录的设置。
至此,仅可通过密钥对进行远程登录。