linux之ssh无密码访问

1. windows下用putty执行ssh连接vmware中的linux虚拟机

linux虚拟机的网络选择bridge模式,ifconfig 看到ip后与windows local machine之间相互ping,ping通了就可以putty用ssh连接了。

注意:/etc/ssh/sshd_config里面的PermitRootLogin yes这项开启,然后service sshd restart才可以。

2.linux系统刚装好之后,/etc/ssh/这个目录是有的。

/etc/ssh/sshd_config:OpenSSH服务器配置文件;

/etc/ssh/ssh_config:OpenSSH客户端配置文件;

~/.ssh/:用户SSH配置目录; 这个目录刚装好的系统使没有的!!当在这个系统的当前用户下面执行ssh user@x.x.x.x 后,这个目录会自动产生,里面自动产生一个文件 known_hosts。还有被连接的linux系统的user的home目录下是不会自动产生.ssh目录的。

~/.ssh/authorized_keys:用户公钥(RSA或DSA);

/etc/nologin:如果存在这个文件,sshd会拒绝除root用户外的其它用户登录;

/etc/hosts.allow和/etc/hosts.deny:定义tcp-wrapper执行的访问控制列表;

SSH默认端口:22 

3. 让vmware虚拟机上的2个linux系统a和b之间ssh不需要密码。假设a为client,b为server。

a的home目录/home/a/.ssh下面执行ssh-keygen, 输入名字a-key会生成a-key和a-key.pub这2个文件;

b的home目录/home/b/下面mkdir .ssh创建.ssh目录(假如没有这个目录的话);

在a的/home/a/.ssh下面执行scp   a-key.pub   b@x.x.x.x:/home/b/.ssh/authorized_keys(假如/home/b/.ssh/下面没有authorized_keys这个文件的话,若已经有这个文件那么可以直接将a-key.pub的内容添加到这个文件内就可以了);

上面scp成功后,在a的命令行执行ssh b@x.x.x.x 就不用输入密码可以直接login了。

原文地址:https://www.cnblogs.com/kex1n/p/5226134.html