配置密匙对登陆方法:
1. cd ~/.ssh 如果没有就创建这个目录
2. ssh-keygen -t rsa 或 -t dsa\
密钥文件有两个,是一对:
id_rsa 私钥key,留给本机的
id_rsa.pub 公钥key,给到需要登陆的机器
3.把公钥key给到需要远程登陆的机器的/root/.ssh目录下并改名为authorized_keys,即可做到无密码登陆
scp /root/.ssh/id_rsa.pub 10.1.1.13:/root/.ssh/authorized_keys
方法二:
ssh-copy-id -i ~/.ssh/id_dsa.pub "-p50000 liubei@192.168.1.121"
ssh修改默认端口:(默认端口为22)
-----------------------------
第一步:修改系统服务端口文件/etc/services
vim /etc/services
46 ssh 8022/tcp --把tcp默认的22改为8022端口
47 ssh 8022/udp --把udp默认的22改为8022端口
第二步:修改ssh配置文件:配置文件目录/etc/ssh/
配置文件有两个:
ssh_config 为本机连别的机器使用的配置
sshd_config 为别的机器连本机使用的配置
vim /etc/ssh/ssh_config
39 Port 8022 --把该前面的#号去掉,再把22改为8022
vim /etc/ssh/sshd_config
13 Port 8022 --把前面的#号去掉,再把22改为8022
第三步:重启sshd服务,让修改的端口生效
重启命令:/etc/init.d/sshd restart
第四步:查看ssh是否有监听新的端口
命令:lsof -i:8022
使用查看连接8022端口的情况命令:netstat -anlp|grep :8022
第五步:测试使用ssh连接别的机器
命令描述: 命令 参数 目标机器的端口 目标机器的ip
命令方法: ssh -p 22 10.1.1.13
备:scp命令在远程复制的时候是需要调用ssh服务的,需要加上大P参数再接端口,才可以使用
例:scp -P 22 /etc/hosts10.1.1.13:/etc/hosts
当ssh连接出现问题的时候,可能是原来记录这个IP 现在换了个机子用这个IP 他就会读取原来的缓存
只要把cat /dev/null >~/.ssh/known_hosts 清空即可
问题:
登录某系Linux远程机器,由于ssh的某些配置,导致不能直接用root登录,必须先用某个权限很低的用户登录,然后su - root
解决方法:
1) 以root身份,chmod +w /etc/ssh/sshd_config
2) vi /etc/ssh/sshd_config
3) 将PermitRootLogin no改成PermitRootLogin yes
4) service sshd restart