ps:Ubuntu下更改SSH端口的方法
(一)修改SSH端口
1.1 修改/etc/ssh/sshd_config
Port 22 //ssh端口默认是22
Port 25680 //将端口号修改成25680
ps:在改某项服务端口的时候,最好先不要删除原来的端口号,以防影响别人的使用。先增加一个端口,测试通过之后,再将原来的端口号删除掉!
1.2 重启ssh服务,修改端口才生效
sudo /etc/init.d/ssh restart
1.3 用netstat -an 命令检验是否正确。
也可以通过SecureCRT等类似的工具登陆下,看能否通过新添加到端口登陆上。如果可以登陆上,再将原来的端口号22删掉。
(二)配置私钥和公钥
2.1 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
2.2 测试是否配置成功
ssh localhost
ps:如果测试失败,可以尝试修改过相关目录的权限再尝试
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
2.3 将公钥文件拷贝到远程服务器
1. 方法一:
cat ~/.ssh/id_dsa.pub | ssh 远程用户名@远程服务器ip -p 端口号 'cat - >> ~/.ssh/authorized_keys'
2. 方法二:
本地执行:
scp -p 端口号 ~/.ssh/id_dsa.pub 远程用户名@ip:/home/远程用户名/
登陆远程服务器 远程用户名@ip后执行:
cat id_dsa.pub >> ~/.ssh/authorized_keys
ps:如果测试不成功,需要改远程服务器IP上的文件authorized_keys的权限(权限的设置非常重要,因为不安全的设置安全设置,会让我们不能使用RSA功能)
想法
1.能不能将端口号改掉之后,仍然可以不用输入端口号就可以直接ssh登陆上去?ps:好像不能!
CentOS 下SSH无密码登录的配置