ubuntu配置ssh服务
首先尝试ssh localhost
ssh localhost
如果没有启动ssh服务的话,则会报如下错误:
ssh: connect to host localhost port 22: connection refused
设置ssh免密登陆(可选)
这一步通过设置公钥和私钥来设置免密登陆。如果服务器是设置用户名密码登陆的话则可以跳过这一步。
运行如下命令会在~/.ssh/目录下产生一堆密钥id_rsa和id_rsa.pub:
ssh-keygen
对接下来的提示信息敲回车,则密钥对会生成在默认位置~/.ssh/目录下,且我们设置passphrase为空,即无密码登陆。
使用如下命令将新生成的公钥加入到已授权密钥列表文件authorized_keys中(因为初始没有authorized_keys文件,所以这里使用cp指令):
cp ~/.ssh/id_isa.pub ~/.ssh/authorized_keys
要保证.ssh目录和authorized_keys文件都只有用户自己有写权限,否则验证无效
chomd 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
开启ssh服务
配置无密登陆仍然无法ssh localhost,因为ubuntu默认并没有安装和开启ssh服务器,因此,我们还需要:
1.确定安装sshd
sudo apt-get install openssh-server
2.启动sshd
sudo net start sshd
3.检查防火墙设置,关闭防火墙
sudo nfw disable
4.检验是否成功,运行下面的命令
ssh localhost
有的时候虽然成功了,但还是会出现connection refused的问题,这是,需要查看一下sshd进程是否启动。
运行下面的指令查看是否有sshd进程:
ps -e | grep ssh
有时虽然可以看到sshd,但是还是不能连接成功,这是需要重启一下ssh:
sudo service ssh restart
然后再次连接。