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

然后再次连接。

posted @ 2018-05-18 10:14  zifeiy  阅读(744)  评论(0编辑  收藏  举报