ubunto 免输入密码 登录 putty ssh-keygen
交互式密码不安全,现在改用 ssh 证书方式,不用输入密码使用公钥证书登录。
方法1, 此方法,仅试用于,仅使用win putty 来连接方式使用,如果双方都是 linux 如 rsync 同步等时,请使用方法2
生成一个rsa证书的 , 私钥 和 公钥 ,点保存 私钥 ,保存为 xxx.ppk 格式。
使用
ip地址我随意写的,你要改成你自己的。
然后是输入,linux 的用户名
最后是选择 私钥 文件 .ppk
点 open 就可以了,第一次你要输入 yes 记住。
方法2, 在 客户端linux 上生成证书,好处是 双方都是 linux 也可以使用,方法1,生成的 ppk 文件在 linux 中无法使用。
终端下输入命令
ssh-keygen -t rsa
打3个回车
生成效果如下
The key fingerprint is:
83:26:c5:09:29:94:48:ce:4f:12:28:f8:38:db:4c:0e root@ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
|+=.... |
|B + .o . |
|.* o + |
|E * . . |
| O .. o S |
|. + o . |
| |
| |
| |
+-----------------+
会生成2个文件 id_rsa 和 id_rsa.pub
连接方法
ssh womai@192.168.1.108
同样的第一次会让你打个 Yes
连接成功
在 linux 上生成的 私钥 也可以转为 putty 中使用的 ppk
运行puttygen.exe
点击Conversions菜单项中的Import key
选择在Linux VPS下生成的id_rsa文件
在puttygen的界面上点击Save private key按钮就可以把私钥转换为ppk的格式了
最后说一下 ssh 服务器上的配置
比如说我创建个新用户manster
sudo useradd manster -m #创建用户目录
需要 -m 创建了用户的目录,需要把 公钥放在里面
cd /home/manster
mkdir .ssh #创建.ssh目录
vi .ssh/authorized_keys 创建并打开一个文件
输入 putty 生成的 公钥 或者是 linux 生成的 id_rsa.pub 中的内容保存即可。
有的需要设置一下 .ssh 的权限
sudo chmod 600 .ssh/authorized_keys
sudo chmod 700 .ssh
最后说 ssh 自动断开的问题。
修改 /etc/ssh/sshd_config
加入一行
ClientAliveInterval 60
保存后重启 ssh 服务
sudo /etc/init.d/ssh restart
利用公网上的计算机使两台不同局域网的电脑进行ssh远程登录
公网电脑IP: 123.56.xx.xx (需要能够ssh登录)
电脑A IP: 192.168.1.30
电脑B IP: 10.0.0.6 (需要运行ssh服务, 用户:dev)
电脑A ssh到电脑B可以通过:
在电脑B上执行:
$ sudo ssh -C -f -N -g -R 1022:localhost:22 root@123.56.xx.xx
电脑A 通过ssh登录到公网电脑:
$ ssh root@123.56.xx.xx
在公网电脑上执行:
$ ssh -p 1022 dev@localhost