安装ssh服务和客户端, 在控制台,鼠标放到桌面右键点开ternmal, 默认使用不了vim工具,可以先使用vi.
安装ssh服务和客户端
centos环境 yum -y install openssh-server openssh-clients
ubuntu环境 apt-get update apt-get install openssh-server openssh-clients
正常安装完ssh服务是启动的,可以通过ps -ef | grep ssh查看,如没启动,手动启动,启停服务命令
sudo /etc/init.d/ssh start #启动ssh服务 sudo /etc/init.d/ssh stop #停止ssh服务 sudo /etc/init.d/ssh restart #重启ssh服务
安装后验证登录
输入:ssh root@10.11.132.139,然后根据提是输入密码即可登录
ssh登录失败排查
如果能登录服务器,这一步可忽略。这里只记录我遇到的问题并总结的排查思路
看下我遇到问题现象
-
1 这种问题大都是需要修改sshd_config,有的机器进行加固,是不允许用户root权限登录ssh 服务的。
-
2 修改配置/etc/ssh/sshd_config ,添加如下内容,然后重启ssh服务 sudo /etc/init.d/ssh restart
PermitRootLogin yes UsePAM yes
-
3 重新登录,依然失败,报错没改变
-
4 登录服务器控制台,重新尝试本地ssh, 依然失败
(base) root@ai-PowerEdge-R740:~# ssh root@localhost
root@localhost: Permission denied (publickey). -
5 查看服务是否正常
(base) root@ai-PowerEdge-R740:~# ps -ef | grep sshd root 2238926 1 0 2月10 ? 00:00:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups root 2316689 2238926 0 11:01 ? 00:00:00 sshd: root@pts/1 root 2316692 2238926 0 11:01 ? 00:00:00 sshd: root@notty root 2317016 2316803 0 11:16 pts/1 00:00:00 grep --color=auto sshd
-
6 服务正常启动,这个时候应该怀疑端口问题了, 发现ssh服务被IPv6占用了,意思ipv4端口不能用22
(base) root@ai-PowerEdge-R740:~# netstat -aop | grep ssh tcp6 0 0 [::]:ssh [::]:* LISTEN 1/init off (0.00/0/0) .......
-
7 网上找了一堆教程,大致说要先禁用IPV6,照着做了之后依然没解决,还是有第6的现象。这个时候找了规避方案,那就是把ssh的端口号改掉,直接在sshd_config文件里配置
-
8 vim /etc/ssh/sshd_config, 添加如下配置,Port后面指定端口, 然后重启服务
Port 100 ListenAddress 0.0.0.0
-
9 修改端口以后,登录要指定端口号
(base) root@ai-PowerEdge-R740:~# ssh -p 100 root@localhost The authenticity of host '[localhost]:100 ([127.0.0.1]:100)' can't be established. ECDSA key fingerprint is SHA256:0WYE4ct/SMfghgkDWSANsoQWoCSwbNnsWt1tLwDcc98. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
-
上述从本地已经可以登录了。