您的位置:首页 > 其它

Mac OS X ssh设置

2016-03-23 16:42 519 查看

Mac OS X ssh设置

local:~ yourname$ ssh-keygen -t rsa    
  
//然后依次回车,输入密码,这个密码和SSH的帐号密码无关。    
//整个界面看上去类似:    
local:~ yourname$ ssh-keygen -t rsa    
Generating public/private rsa key pair.    
Enter file in which to save the key (/u/kim/.ssh/id_rsa):  【回车】    
Enter passphrase (empty for no passphrase): 【直接回车】    
Enter same passphrase again:  【直接回车】    
Your identification has been saved in /u/kim/.ssh/id_rsa.    
Your public key has been saved in /u/kim/.ssh/id_rsa.pub.    
  
//接下来把密钥文件传到你的SSH帐号下:    
local:~ yourname$  cd ~/.ssh    
local:~ yourname$  cp id_rsa.pub authorized_keys    
local:~ yourname$  scp -p ~/.ssh/authorized_keys vb_macos:.ssh/   

解决ssh连接Mac OS中文乱码的问题

1,ssh工具连接设置里为UTF-8编码

2,在/etc/profile最后加入

   export LANG=zh_CN.UTF-8

3,连接的时候字符编码改成utf-8即可。

修改/etc/profile 提示文件只读。

解决方法:sudo chmod +w /etc/profile 即可

4,执行 source /etc/profile

 

Mac OS Lion 使用key验证登陆SSH

在Windows平台里,习惯了用MyEntunnel翻墙。

到了Mac下,因为系统自带ssh客户端,所以完全可以通过命令替代MyEntunnel:

ssh -N -p 22 -C -c 3des -D 8580
proxy@yourvps.info


这个proxy是在VPS上建立的一个nologin账号,不过每次输入密码会很烦,所以打算做成key认证。

没想到的是,这么一个小小的事情,居然也让我折腾了好几个小时。

事件回放如下:

   在client端,输入ssh-keygen生成 公钥/私钥,基本上是一路回车。

zhiyeqianqians-Mac:.ssh zhiyeqianqian$ ssh-keygen 

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/zhiyeqianqian/.ssh/id_rsa): 

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /Users/zhiyeqianqian/.ssh/id_rsa.

Your public key has been saved in /Users/zhiyeqianqian/.ssh/id_rsa.pub.

The key fingerprint is:

。。。(省略)

The key's randomart image is:

。。。(省略)

zhiyeqianqians-Mac:.ssh zhiyeqianqian$ ls -al

total 32

drwx------   6 zhiyeqianqian  staff   204  4 19 22:43 .

drwxr-xr-x+ 29 zhiyeqianqian  staff   986  4 19 22:42 ..

-rw-------   1 zhiyeqianqian  staff  1675  4 19 22:43 id_rsa

-rw-r--r--   1 zhiyeqianqian  staff   420  4 19 22:43 id_rsa.pub

-rw-r--r--   1 zhiyeqianqian  staff  1526  4 19 22:25 known_hosts

 

zhiyeqianqians-Mac:.ssh zhiyeqianqian$ scp id_rsa.pub root@yourvps.info:~/.ssh/authorized_keys

root@yourvps.info's password: 

id_rsa.pub                                    100%  420     0.4KB/s   00:00    

 

这时候从客户端登陆,发现依然提示要密码,如果把服务端sshd_config配置文件里禁用密码验证,并且重启sshd服务,客户端会看到报错:

zhiyeqianqians-Mac:.ssh zhiyeqianqian$ ssh
root@yourvps.info


Permission denied (publickey,gssapi-with-mic).

 

搜索报错关键字无果,遂输入 ssh -vvv
root@yourvps.info


这里的vvv表示打印调试信息,观察为什么报错:

zhiyeqianqians-Mac:.ssh zhiyeqianqian$ ssh -vvv
root@yourvps.info


OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011

debug1: Reading configuration data /etc/ssh_config

debug1: Applying options for *

debug2: ssh_connect: needpriv 0

debug1: Connecting to yourvps.info [x.x.x.130] port 22.

debug1: Connection established.

debug3: Not a RSA1 key file /Users/zhiyeqianqian/.ssh/openssh-key.

标红的地方很奇怪,明明ssh-keygen生成的公钥/私钥是 id_rsa 和id_rsa.pub,为什么它会先去读 openssh-key ?

(其实一开始思路没有这么自然,甚至都没有观察到这个提示信息,走了不少弯路才有后文)

(……一番折腾后)

检查到/etc/ssh_config,发现配置文件的最后2行是:

IdentityFile ~/.ssh/openssh-key

#IdentityFile ~/.ssh/id_rsa

默认应该是最后这个 id_rsa ,但却被我注释掉了,改成了openssh-key。

原来是在几个月前,

为了登陆腾讯的云主机,按照教程修改过ssh_config,于是ssh找不到本地私钥证书,验证失败了。

取消这行注释,或者在ssh_config里,添加一个针对主机的设置

Host yourvps.info

IdentityFile ~/.ssh/id_rsa

表示当目标主机为yourvps.info的时候,使用id_rsa的证书文件。

效果如下:

zhiyeqianqians-Mac:.ssh zhiyeqianqian$ ssh
root@yourvps.info


Last login: Thu Apr 19 18:29:31 2012 from x.x.11.106

[root@10_23 ~]# exit

logout
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: