只要修改相关的配置文件并重启服务
配置文件
服务器是: /etc/ssh/sshd_config
客户端是: /etc/ssh/ssh_config
禁用Root:
修改服务器端的etc/ssh/sshd_config 文件
将PermitRootLogin yes
改为PermitRootLogin no
如果词句前面带有”#”号, 则去掉 “#” 号
最后重启sshd服务器:
sudo /etc/init.d/sshd restart
修改端口:
客户端vi /etc/ssh/ssh_config 修改 Port 端口号
服务器vi /etc/ssh/sshd_config 修改 Port 端口号
两端端口号保持一致,最好不同于其他常用服务的端口。
配置文件修改好,重启服务OK
免密码登录:
1.在Server端的用户家目录下建立.ssh隐藏文件夹(若已经存在,则无需操作)
2.在Client端执行ssh-keygen
执行过程中,它先要求你确认保存公钥的位置(默认为:.ssh/id_rsa),
然后它会让你重复输入一个密码两次,如果不想在使用公钥的时候输入密码,可以留空
执行完毕后,就会生成数据Client端的一对密钥。
3.SSH 密钥默认储存在账户的家目录下的 ~/.ssh 目录中
关键是看有没有用 xxx_rsa 和 xxx_rsa.pub 来命名的一对文件,有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
生成的一对公私钥,顾名思义:
公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
4.在Server端用户家目录下的.ssh隐藏文件夹下创建authorized_keys文件(若已经存在,则无需操作)
5.将Client端的公钥文件内容复制到Server端的authorized_keys文件内
6.更改 authorized_keys 文件的权限 chmod 600 authorized_keys
7.这时再执行ssh 用户名@主机IP 时就不用再输入密码了.