过两天要上Dashgo的N1底盘机器人,到时候要用SSH去连,所以今天先测试了一下SSH连接,结果出了问题:
- 连接时报错:
ssh: connect to host 192.168.1.107 port 22: Connection refused
(1) 首先ssh clinet/server均已安装,排除安装不完整的问题。
(2) 运行ps -e |grep ssh
,提示
113 ? 00:00:00 ssh-agent
未开启server
(3) 运行sudo vim /etc/ssh/sshd_config
,将其中的
PubkeyAuthentication yes
修改为no
AuthorizedKeysFile .ssh/authorized_keys
前面加上#
屏蔽掉,
PasswordAuthentication no
修改为yes
(4) 运行
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start
再次检查ps -e |grep ssh
,提示
113 ? 00:00:00 ssh-agent
1980 ? 00:00:00 sshd
(5) 如果在运行sudo /etc/init.d/ssh start
时,提示
* Starting OpenBSD Secure Shell server sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
则分别运行:
su
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
(6) 使用ssh登陆认证慢:ssh登录比较缓慢,输入用户名后要等好一阵先出现提示输入密码,这是Ubuntu
默认开启了SSH
的DNS反解析造成的原因,只要将此选项关闭,重新启动sshd后反应非常快。
sudo vim /etc/ssh/sshd_config
注意以下几项修改成:
# GSSAPIAuthentication yes
# GSSAPIDelegateCredentials no
UseDNS no
保存退出后,执行
sudo /etc/init.d/ssh restart